Telephone systems have been previously developed for use with personal computers. Existing systems, however, are often difficult to use and contain only a limited number of features that users may desire. Such systems do not normally provide robust interfaces to other communications devices such as systems for electronic mail, voice mail, video, facsimile, etc. Many existing systems also are designed for a particular type of computer and may not be easily converted for use on different types of computers. Similarly, the software for many existing systems is difficult to modify to add additional features.
For example, software systems have been provided that display computerized versions of the telephone keys available to the user of the actual telephone. These software systems seek to replicate the telephone interface in order to capitalize on a user's familiarity with that interface. These systems do not take advantage of the flexibility possible in a purely graphical user interface.
In addition, prior systems have not fully capitalized on the ability to identify incoming calls and the ability to build and use a database of information about called and calling parties. While prior art systems have provided some automated directory services, they have not provided the full range of database processing with the flexibility of a graphical user interface.
Therefore, a need has arisen for a software telephone system that provides for database directory service and incoming call identification as well as presenting the user with a fully functional telephone system using a flexible graphical user interface.